package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) throws IOException, TimeoutException {
        //连接服务器
        ConnectionFactory f=new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");

        Connection con=f.newConnection();
        Channel c=con.createChannel();
        //在mq服务器上，创建消息队列helloworld
        //如果队列已经存在，不会重新创建
        /*
        * 参数：
        *   1.队列名
        *   2.是否是持久队列（非持久队列服务器重启后会消失）
        *   3.是否是排他（独占）队列 （非独占队列，许多个消费者从同一个队列接收消息）
        *   4.是否自动删除 （自动删除的队列，在没有消费者时，可以被服务器自动删除）
        *   5.队列其它属性
        */
        c.queueDeclare("helloworld",false,false,false,null);
        //向helloworld队列发送消息
        /*
        *   参数：
        *       1.交换机，""指的是默认交换机
        *       2.队列
        *       3.消息的其它属性设置
        *       4.消息数据
        */
        c.basicPublish("","helloworld",null,"Hello world!".getBytes());
        System.out.println("消息已发送");

        c.close();
        con.close();
    }
}
